#encoding:utf8
import os
import shutil
import sys
from lib import clipboard

# python脚本正文
script_text	= '''
#encoding:utf8
import os
filepath	= r"%s"
dirname		= os.path.dirname(filepath)
os.chdir(dirname)
os.startfile(filepath)
'''

def main():
	helpdir		= os.getenv('help')
	if not os.path.exists(helpdir):
		print('不存在help环境变量')
		return

	script_dir	= os.path.join(helpdir, 'app')
	if not os.path.exists(script_dir):
		os.makedirs(script_dir)

	filepath	= clipboard.text
	filepath	= filepath.rstrip('\\')

	if not os.path.exists(filepath):
		print(('从剪贴板中获取的文本是非法的文件或目录: %s'%filepath))
		return

	# 获取脚本的名称：如果有参数的话，则为第一个参数，否则默认为从剪贴板中得到的路径的basename
	script_name = os.path.basename(filepath).split('.')[0] if len(sys.argv)==1 else sys.argv[1]
	script_name+= '.py'
	script_path	= os.path.join(script_dir, script_name)

	# 如果存在原同名脚本的话，则备份之
	if os.path.exists(script_path):
		index	= 0
		while True:
			bakpath	= '%s.bak%s'%(script_path, index)
			if not os.path.exists(bakpath):
				shutil.move(script_path, bakpath)
				print(('将原同名脚本%s备份为%s'%(os.path.basename(script_path), os.path.basename(bakpath))))
				break
			index	+= 1

	# 创建新的脚本文件
	with open(script_path, 'w', encoding= 'utf8') as fout:
		fout.write(script_text % filepath)
		print('成功创建脚本文件: %s 用于启动文件: %s'%(script_name, filepath))

if __name__=='__main__':
	main()
